草庐IT

php - 协助创建 SQL 查询

全部标签

ruby - 什么是枚举器对象? (使用 String#gsub 创建)

我有一个属性数组如下,attributes=["test,2011","photo","198.1x198.1cm","Photo:ManuPKFullScreen"]当我这样做时,artist=attributes[-1].gsub("Photo:")partist我在终端中得到以下输出#想知道为什么我得到一个枚举器对象作为输出?提前致谢。编辑:请注意,我做的不是attributes[-1].gsub("Photo:",""),而是attributes[-1].gsub("Photo:")所以想知道为什么枚举器对象返回到这里(我期待一条错误消息)以及发生了什么。?ruby-1.9.2

ruby-on-rails - 通过多态关联 rails 创建对象

我需要(或者我认为)在我的模型中实现多态关联,但我有问题。看我的情况,就是一个简单的问答系统,逻辑如下:-一个问题可以用N个答案来回答。-答案只能是“文本”异或(一个或另一个,不能同时是两个)“图片”。迁移:classCreateAnswerstruet.timestampsendendendclassCreateAnswerTexts模型*answer.rb*classAnswertrueattr_accessible:answerable_typeendanswer_text.rbclassAnswerText:answerableattr_accessible:contenten

sql - 将所有 Controller 操作包装在 Rails 中的事务中

是否可以设置一个Rails应用程序,以便所有Controller操作都自动包装在一个事务中,并在出现未挽救的异常时自动回滚?我正在开发一个Rails3应用程序,目前正在执行一项相当棘手的操作,该操作会进行大量数据库更改。而且我一直弄错了很多次!一段时间后,我意识到我的代码无法正常工作,因为我最终在数据库中得到了不一致的数据。我可以很容易地用一个事务来包装它(这是一个明显需要的实例!)。然而,这让我想到,至少在开发过程中,将这个想法应用于每个Controller操作会很有用。假设这是可能的,这有什么缺点吗? 最佳答案 有关信息,我在我

ruby - 如何让 rspec 不显示数据库查询而只显示带有 rails_12factor 的点?

ruby:2.0rails:3.2.17rspec:2.14.8Database:mysqlrspecspec用于仅输出点。当我推送到Heroku并且最近添加了rails_12factorgem来绕过它时,我收到了弃用警告。但是,现在在本地运行规范时,我会得到每个事务的详细数据库输出。当我需要它时这是一个很好的选择,否则它会产生很多不需要和分散注意力的输出。所以我想要一个将它用于Heroku而不是本地的选项。请注意,这不会通过使用格式化程序来解决,例如rspecspec-fd此外,如果出现错误,在这种冗长程度下,错误几乎总是滚出当前页面...09:50:39durrantmCastle

ruby-on-rails - 默认情况下如何使用字符串键创建哈希

当我执行以下操作时:h={"a":123}Ruby自动将键转换为符号。h[:a]#=>123h["a"]#=>nil如何防止这种行为?我用字符串键创建了散列,并希望保持这种状态,而不必总是调用Hash#stringify_keys。 最佳答案 使用哈希火箭语法:h={"a"=>123}#=>{"a"=>123}h['a']#=>123 关于ruby-on-rails-默认情况下如何使用字符串键创建哈希,我们在StackOverflow上找到一个类似的问题: h

ruby - 使用 attr_accessor 动态创建类属性

在Ruby中,有没有办法动态地向类中添加实例变量?例如:classMyClassdefinitializecreate_attribute("name")enddefcreate_attribute(name)attr_accessorname.to_symendendo=MyClass.newo.name="Bob"o.name 最佳答案 一种方法(还有其他方法)是这样使用instance_variable_set和instance_variable_get:classTestdefcreate_method(name,&bloc

ruby-on-rails - SQL 注入(inject)和 ActiveRecord

这对SQL注入(inject)安全吗:Guest.where(:event_id=>params[:id])我在发送params[:id]时没有进行任何类型的清理。一般来说,所有这些activerecord方法都安全吗?(如where、joins等。)如果不是,安全的最佳做法是什么?另外,是否有任何我应该注意的警告/边缘情况?谢谢 最佳答案 ActiveRecord的所有查询构建方法,如where、group、order等等,都可以安全地防止SQL注入(inject)ASLONGAS您不向它们传递原始SQL字符串。这容易受到SQL注

ruby-on-rails - 如何在 Rails 中创建对象数组?

我需要知道如何在Rails中创建对象数组以及如何向其中添加元素。我是ruby​​onrails的新手,这可能是个愚蠢的问题,但我找不到确切的答案。所以请专家给出一些关于这个的想法 最佳答案 你只需要一个数组:objArray=[]#or,ifyouwanttobeverboseobjArray=Array.new推送,push或使用:objArray.push17>>>[17]objArray>>[17,4]您可以使用任何您喜欢的对象,它不必是特定类型。 关于ruby-on-rails-

ruby - 如何在 Ruby 中动态创建局部变量?

我正在尝试使用eval在Ruby中动态创建局部变量并改变局部变量数组。我在IRB中这样做。eval"t=2"local_variables#=>[:_]eval"t"#=>NameError:undefinedlocalvariableormethod`t'formain:Objectlocal_variables[:_,:t]t#=>NameError:undefinedlocalvariableormethod`t'formain:Object 最佳答案 您必须使用相同的绑定(bind)对象同步评估。否则,单个评估有其自己的范围

sql - 在 AREL 中分组 ands 和 ors

我正在尝试使用arel查询此sql片段的等效项:WHERE(("participants"."accepted"='f'AND"participants"."contact_id"=1)OR"participants"."id"ISNULL)所以我想要(accepted&&contact_id=1)ORNULL这是我在AREL中得到的participants[:accepted].eq(false).and(participants[:contact_id].eq(1).or(participants[:id].is(nil)问题是,这会产生:("participants"."acce